#ifndef QUEUE_H
#define QUEUE_H

#include "List.h"

template<class QUEUETYPE>
class Queue : private List<QUEUETYPE>{
	public:
		void enqueue(const QUEUETYPE &data)
		{
			List<QUEUETYPE>::insertAtBack(data);
		}
		bool dequeue(QUEUETYPE &data)
		{
			return (List<QUEUETYPE>::removeFromFront(data));
		}
		bool isQueueEmpty() const
		{
			return ( List<QUEUETYPE>::isEmpty() );
		}
		void printQueue() const
		{
			List<QUEUETYPE>::print();
		}
};
#endif
